|
Date : 14 octobre 1990 Divers : D�but des emm..... Date : 18 novembre 1990 Divers : Fin des emm....... Outils : PERISCOPE, EXEHEAD, MI, QUAID Programmes : Virus LIBERTY et KEYPRESS Origine : INDONESIE Num�ro : 079,080 --==**{ CONTAMINATION }***==-- Le lecteur a: effectue des aller-retours intensifs avant de charger un fichier. Turbo Debugger v2.0 ne fonctionne plus en affichant le message "impossible d'initialiser le fichier td.ovl !" Turbo anti virus v6.80 ne d�tecte aucun virus mais al�atoirement le secteur de boot du disque dur est alt�r�. En r��crivant le secteur de boot cel� ne change rien. Jusqu'� pr�sent la seule parade avait �t� de reformatter le disque dur par un formattage bas niveau ( ou pr�formattage ). Et d'y replacer mes programmes du backup de France. Les programmes suivants sont r�sidents: gmouse.exe bootsafe.exe nc.exe command.com J'effectue les essais suivants: Dans la ram CMOS le disque dur est enlev� et de plus je le d�connecte physiquement. Je boote le DOS 4.01 d'une disquette prot�g�e en �criture et je lance le programme d'installation de TD sur une disquette 1.2Mo. J'essaie le programme: IL FONCTIONNE ! Je reconnecte le disque dur et r��cris la m�moire CMOS, puis je boote du disque dur, deux �vidences: 1) Le lecteur de disquette a: refait les m�mes symptomes mais le programme TD fonctionne. ( la disquette est prot�g�e en �criture ) 2) Le programme TD du disque dur ne fonctionne toujours pas. 3) Une comparaison des 2 programmes montre une diff�rence de taille de 2 K. 4) En copiant le programme de la disquette sur le disque dur celui du disque dur ne fonctionne toujours pas ! Donc le probl�me se situe vraisemblablement sur le disque dur. Je fais deux essais; J'enl�ve l'autoexec.bat et je copie le COMMAND.COM de la disquette prot�g�e du DOS microsoft. Je boote et j'essaie le lecteur a: ; Il FONCTIONNE. Je copie avec les commandes DOS le fichier TD.EXE de la disquette sur le disque dur et je le lance; IL FONCTIONNE. Je remets NC dans le circuit; TD ne fonctionne plus et COMMAND.COM est de nouveau alt�r�. Donc quelque chose ( un ou plusieurs jeux ont alt�r�s les programmes r�sidents et ceux-ci � leur tour ont alt�r�s tous les programmes lanc�s...! Et TNTVIRUS ne trouve rien malgr� sa biblioth�que de 155 virus ! Je recharge du backup les r�pertoires suivants car je me suis apercu que GMOUSE, et BOOTSAFE lui m�me �taient alt�r�s; \\NC \\DOS \\TD \\ Ceci fait j'essaie mon autoexec.bat � nouveau avec tous les programmes r�sidents et cette fois-ci tout fonctionne. Un simple formattage du disque dur n'enlevait pas le d�faut car j'utilisais la commande DOS du disque dur lui-m�me qui passait forc�ment par le COMMAND.COM contamin� ! Et en r�installant le DOS 4.01 sur le disque cel� ne fonctionnait pas mieux car les fichiers contamin�s �taient conserv�s et il suffisait d'en lancer un pour se retrouver avec l'erreur. Le fait de restorer les r�pertoires NC, DOS, TD et racine a fonctionn� car j'avais pris le soin de les effacer auparavant mais surtout d'y r��crire le COMMAND.COM non contamin� de la disquette MICROSOFT. Mais � l'heure actuelle tout est de nouveau plant� car j'ai conserv� des fichiers contamin�s dans les autres r�pertoires qui ont � nouveau contamin� NC et COMMAND.COM etc... Que fait ce virus � part emp�cher le fonctionnement de TD ? A premi�re vue il augmente la taille des fichiers lanc�s � chaque fois un petit peu. D'autre part NC � parfois des r�actions bizarres comme d'avoir un scrolling ultra rapide lorsqu'on appuie sur les touches fl�ches haut et bas.... Donc la solution ultime c'est de refaire un formattage total du disque En r�installant le DOS d'abord puis l'utilitaire FASTBACK. Et une fois le tout r�etabli mettre TSAFE en r�sident et non pas BOOTSAFE. TSAFE donne l'alarme d�s qu'un fichier est en train d'�tre modifi�. En fait TSAFE est tr�s efficace mais certain programme ne le "supporte" pas. Je ne le rends actif que si j'introduis une disquette dans un des lecteurs A: ou B: Ce ou ces virus se trouvent dans les programmes suivants: STAR CONTROL ALTERED BEAST OIL'S WELL THEXDER II Autre virus que j'ai surnom� MAGIC VIRUS car j'ai trouv� une suite de "MAGICMAGICMAGICMAGIC...." dans les fichiers EXE des programmes suivants: ( et que je n'ai pas encore �limin� ) POWER DRIFT MATHCAD V2.5 NOTE: Lorsque COMMAND.COM est infect� tous les programmes appel�s par l'autoexec.bat sont contamin�s. 18 novembre 1990 LES VIRUS SONT DECOUVERTS !!!! et �limin�s.... OUTILS: QUAID ANLYSER PERISCOPE + RUN.COM MI.COM de PCTOOLS EXEHEAD.EXE de MICROSOFT J'avais d�j� essay� de d�couvrir des chaines d'octets identiques entre un fichier d�j� infect� et un fichier vierge venant d'�tre infect� mais sans r�sultat. ( Car j'utilisais SOURCER pour dessas- sembler ) Deux programmes identiques l'un contamin� et l'autre non ne montraient aucune chaine d'octets identiques. Mais maintenant je sais pourquoi SOURCER n'a rien "vu" c'est parceque le virus utilise la place r�serv�e pour le segment de pile pour s'installer et SOURCER ne d�ssassemble pas le contenu de la pile. ( c'est logique ) Et avec PCTOOLS on ne peut pas comparer deux fichiers n'ayant pas la m�me longueur ! Ci-dessous les deux fichiers pass�s � l'utilitaire EXEHEAD.EXE de MICROSOFT; Microsoft (R) EXE File Header Utility Version 2.01 Copyright (C) Microsoft Corp 1985-1990. All rights reserved. Programme non infect�: .EXE size (bytes) 205 Magic number: 5a4d Bytes on last page: 0005 Pages in file: 0002 Relocations: 0000 Paragraphs in header: 0020 Extra paragraphs needed: 0000 Extra paragraphs wanted: ffff Initial stack location: 0000:0000 Word checksum: b0ad Entry point: 0000:0000 Relocation table address: 001e Memory needed: 1K Microsoft (R) EXE File Header Utility Version 2.01 Copyright (C) Microsoft Corp 1985-1990. All rights reserved. Programme infect�: .EXE size (bytes) 7d0 Magic number: 5a4d Bytes on last page: 01d0 Pages in file: 0004 Relocations: 0000 Paragraphs in header: 0020 Extra paragraphs needed: 0000 Extra paragraphs wanted: ffff Initial stack location: 0001:0100 Word checksum: b0ad Entry point: 0001:0133 Relocation table address: 001e Memory needed: 2K Le virus est invariablement log� � un segment IP de 0133 dans le stack. Plus 1 paragraphe = 143 octets par rapport � la position normale. C'est en achetant le dernier SIERRA - THEXDER II - que j'ai craqu� et d�cid� de lui faire la chasse surtout que les programmes le v�hiculant augmentent sans cesse. Premi�re chose j'ai lanc� le fichier SIERRA.EXE sous QUAID ANALYSER. Et l� je remarquais deux choses curieuses: a) l'interruption INT 21 �tait d�tourn�e d�s le d�but du programme. b) Une fois sorti du programme SIERRA.EXE quelque chose ouvrait le fichier NCMAIN.EXE et essayait d'y �crire 1216 octets. Voir ci-dessous.... Extrait de QUAID: 4 21 DOS call 25 set interrupt vector 21 9fa3:02f0 alter i21 Ceci se passe tout au d�but du programme, on voit que interruption 21 ne pointe plus sur sa valeur d'origine. ( en fait beaucoup de virus utilise cette technique pour s'installer ) 229 *** 21 DOS call 3d open read/write C:\NC\NCMAIN.EXE Ici le virus est r�sident, le programme porteur est d�j� termin� et c'est le programme r�sident NC qui essaie d'�crire dans NCMAIN.EXE 233 *** 21 DOS call 40 write handle 5 (1216) �� �� S�3 S� C'est cette chaine qui est rajout� dans tous les programmes non contamin�s, dans ce cas on augmente la taille de NCMAIN.EXE de 1216 octets. La chaine rajout� commence toujours par les octets E9 DF 05 00 8C CB 03. En fait il ne sert a rien de supprimer ou d'alt�rer cette suite d'octets puisque le virus la rajoutera malgr� tout, il faut trouver la routine qui l'installe; la supprimer et s'arranger pour que le programme porteur tourne toujours. Tout un programme ! Avec le d�tournement de l'INT 21 j'aurais du comprendre plus vite que le virus �tait rendu actif au d�but du programme mais ce n'est qu'en lan�ant mon programme volontairement infect� sous RUN.COM de PERISCOPE que je me rendis compte que le d�but de mon programme �tait identique au d�but du programme SIERRA.EXE ! Donc le virus g�n�re bien une chaine d'octets identique d'un programme � l'autre. Mais le dessassemblage ne r�v�le rien puisque le code se trouve dans le STACK SEGMENT. AX=0000 BX=0000 CX=05D0 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=2992 ES=2992 SS=29A3 CS=29A3 IP=0133 NV UP EI PL ZR NA PE NC WR SS:00FE = 1979 29A3:0133 E86C00 CALL 01A2 On remarque bien que CS et SS pointe sur le m�me segment. Et IP est invariablement � 0133. Donc par rapport � l'origine 0133 + 1 paragraphe = 0143h octets. Lorsqu'on �dite le fichier avec PCTOOLS on trouve bien au d�placement 0143 ---> E86C00E8.... Cette suite de CALL est significatif de la pr�sence du VIRUS. 29A3:0133 E86C00 CALL 01A2 29A3:0136 E82D00 CALL 0166 29A3:0139 E83F00 CALL 017B 29A3:013C E81200 CALL 0151 29A3:013F 7208 JB 0149 29A3:0141 E8FA00 CALL 023E 29A3:0144 7203 JB 0149 29A3:0146 E83301 CALL 027C 29A3:0149 EB7E JMP 01C9 29A3:014B 90 NOP 29A3:014C EA12009D13 JMP 139D:0012 Tous les programmes infect�s commen�ent par cette s�rie de CALL il a suffit de faire sauter le programme directement de 013F en 01C9 pour neutraliser l'action du virus.... On peut aussi chercher la suite B82125CD21 qui modifie le vecteur de l'INT 21, on gagne � tous les coups. J'ai appel� ce virus VIRUS X01 � d�faut de nom connu. METHODE POUR SUPPRIMER LE VIRUS: Rechercher avec PCTOOLS la chaine E86C00E82D00E83F00E812007208E8 et remplacer 7208E8 par un JMP 1C9 c.a.d. E98700 ! En fait je ne le supprime pas je le rends inactif. Note: Une "vue texte" du fichier infect� montre des tas de choses interressantes comme les extensions .COM et .EXE ce qui prouve qu'il infecte les fichiers COM et EXE. On retrouve �galement tout les noms des fichiers qui se trouvaient dans le r�pertoire dans lequel le virus �tait actif ! Etc etc.... Donc pour l'instant les jeux suivants sont 'Nettoy�s'; ALTERED BEAST OIL'S WELL THEXDER II STAR CONTROL A ma grande surprise le virus des programmes MATHCAD et POWER DRIFT �tait diff�rent ! Je me remis donc en chasse avec un fichier volontai- rement infect�. A ce sujet je voudrais pr�ciser que " infecter un fichier volontairement " sans en infecter d'autres se r�v�le �tre une vrai sin�cure. Ce qui me mis sur la piste fut une vue ASCII du fichier POWERDRIFT.EXE qui r�v�le � la fin du fichier une suite de "MAGICMAGICMAGIC..." et bien entendu vers la fin du fichier MATHCAD.EXE je retrouvais la m�me chose. La coincidence �tait trop grande entre un jeu et un package s�rieux comme MATHCAD... Ci-dessous le dessassemblage du d�but de POWWERDRIFT et MATHCAD qui sont bien identiques. 2AC2:01A7 E8D700 CALL 0281 ----> 90 90 90 2AC2:01AA 07 POP ES 2AC2:01AB 06 PUSH ES 2AC2:01AC 8CC0 MOV AX,ES 2AC2:01AE 48 DEC AX 2AC2:01AF 8ED8 MOV DS,AX 2AC2:01B1 E8DC00 CALL 0290 ----> 90 90 90 Ce call d�cr�mente la m�moire disponible de 8ko � chaque fois que le programme est lanc�. ( V�rification avec MI.COM de PCTOOLS ) 2AC2:01B4 8EC0 MOV ES,AX 2AC2:01B6 0E PUSH CS 2AC2:01B7 1F POP DS 2AC2:01B8 E8EC00 CALL 02A7 ----> 90 90 90 2AC2:01BB E8F400 CALL 02B2 ----> 90 90 90 2AC2:01BE E80101 CALL 02C2 ----> 90 90 90 2AC2:01C1 2E CS: 2AC2:01C2 803E090201 CMP BYTE PTR [0209],01 2AC2:01C7 7417 JZ 01E0 2AC2:01C9 07 POP ES 2AC2:01CA 0E PUSH CS 2AC2:01CB 1F POP DS 2AC2:01CC E80901 CALL 02D8 2AC2:01CF E81901 CALL 02EB 2AC2:01D2 07 POP ES 2AC2:01D3 1F POP DS 2AC2:01D4 5A POP DX 2AC2:01D5 59 POP CX 2AC2:01D6 5B POP BX 2AC2:01D7 58 POP AX 2AC2:01D8 1E PUSH DS 2AC2:01D9 BF0001 MOV DI,0100 2AC2:01DC 57 PUSH DI 2AC2:01DD 33FF XOR DI,DI 2AC2:01DF CB RETF J'ai nom� ce virus VIRUS MAGIC et il suffit de chercher la chaine E8D700 et modifier par 909090, puis la chaine E8DC00 et remplacer par 909090 puis en dernier mettre 9 fois 90 en E8EC00E8F400E80101. Une pr�cision pour la mise hors service du virus: Ce virus ( tous les virus d'ailleurs ) doit une fois son action termin�e restituer les valeurs propre de tous les registres et sauter � l'instruction originale du programme pour que celui-ci s'�x�cute correctement et que le virus reste compl�tement transparent pour ce dernier. Il faut donc executer ce virus au pas a pas et noter les valeurs des differents registres lorsque le programme est pr�t � d�marrer. Il va sans dire que m�me au pas a pas le virus a ce moment l� a d�j� infect� le RUN.COM et PERISCOP.COM ! il faut quitter imp�rati- vement par CTRL ALT DEL si on ne veut pas infecter autre chose. On ne s'�nerve pas et on recharge calmement un RUN.COM et un PERISCOP COM non infect�s. Et dans la cession suivante en faisant des coupes sombres parmis les CALL du virus par des NOP il faut bien s'assurer que lorsqu'on arrive � la premi�re instruction VRAI du programme le contenu de tous les registres refl�te bien les valeurs not�es plus haut. Sous peine de voir le programme ce planter lamentablement... Et TNTVIRUS nouvelle version avec ces 227 virus ne trouve toujours rien. Je commence � soup�conner que c'est peut-�tre voulu ! Derni�re minute: je viens d'utiliser le programme SCAN 5.1V67 qui m'a confirm� la pr�sence de mon VIRUS MAGIC, son nom est LIBERTY VIRUS. Mais il est incapable de l'enlever. Par contre rien pour le VIRUS X01..... 23 f�vrier 1991 Le programme SCAN 6.2V72 trouve ( enfin ) mon virus X01 c'est le virus KEYPRESS, ce programme enl�ve les deux virus LIBERTY et KEYPRESS. FREDDY |